package LuoGu.搜索.全排列;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

//要按照字典序输出
public class Main_fall {
    static List<Integer> ans = new ArrayList<>();
    static int index = 0;
    static int tempindex = 1;
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        for(int i=1;i<=n;i++) ans.add(i);
        int start = 0;
        for(int i=1;i<=n;i++) tempindex*=i;
        swap(start,n);
    }

    public static void swap(int start, int end){
        if(start==end) {
            for(int i:ans) System.out.print(String.format("%5d",i));
            index++;
            if(index==tempindex);
            else System.out.println();
        }
        for(int i=start;i<end;i++){
            Collections.swap(ans,start,i);
            swap(start+1,end);
            Collections.swap(ans,start,i);
        }
    }
}
